home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / tls / tls088.hpux.Z / tls088.hpux / lib / vtcl / tests / cberror.tcl < prev    next >
Encoding:
Text File  |  1995-07-20  |  1.4 KB  |  64 lines

  1. # CVS $Id: cberror.tcl,v 1.3 1995/02/03 16:54:20 zibi Exp $
  2. #
  3. # This tests the error callback routines
  4.  
  5.  
  6. #
  7. # This handles the error without generating another error.
  8. proc errorCB {cbs} {
  9.     set target [keylget cbs widget]
  10.     set dialog [keylget cbs dialog]
  11.     set result [keylget cbs result]
  12.     set callback [keylget cbs callback]
  13.  
  14.     set str "Handling callback for <$target>"
  15.     set str "$str \n  result is <$result>"
  16.     set str "$str \n  callback is <$callback>"
  17.  
  18.     set txt [VtGetValues $dialog -userData]    
  19.     VtSetValues $txt -value $str
  20. }
  21.  
  22. #
  23. # This handles an error, but generates an error of it's own
  24. #
  25. proc errorErrorCB {cbs} {
  26.      echo "I'm dying...."
  27.  
  28.      # This generates an error
  29.      continue
  30. }
  31.  
  32. proc generateErrorCB {errStr cbs} {
  33.      # This generates an error
  34.      error $errStr
  35.  
  36.      echo "here"
  37. }
  38.  
  39. global txt
  40.  
  41. set app [VtOpen error]
  42.  
  43. set dlog [VtFormDialog $app.form -errorCallback errorCB \
  44.       -okCallback "generateErrorCB {OK buton} " \
  45.       -wmCloseCallback "generateErrorCB wmCloseCallback" ]
  46.  
  47. set errTxt [VtText $dlog.txt -rightSide FORM -rows 5 -columns 40 \
  48.         -wordWrap ]
  49.  
  50.  
  51. VtSetValues $dlog -userData $errTxt
  52.  
  53. set txt $errTxt
  54.  
  55. VtPushButton $dlog.but1 -label "Handle Error" -callback "generateErrorCB Handle"
  56.  
  57. VtPushButton $dlog.but2 -label "Error with Error" \
  58.          -errorCallback errorErrorCB  -callback "generateErrorCB bad"
  59.  
  60. VtShow $dlog
  61.  
  62. VtMainLoop
  63.